<?php

namespace Welcomescreen\Objects;

class Template {
	/**
	 * @var string
	 */
	protected $name;
	
	/**
	 * @var string
	 */
	protected $file;
	
	/**
	 * @var string
	 */
	protected $directory;
	
	/**
	 * @var array(string => \Welcomescreen\Objects\TemplateVariable)
	 */
	protected $variables;
	
	/**
	 * @param string $name
	 * @param string $file
	 * @param array $variables
	 */
	public function __construct($name, $file, $directory = null, array $variables = array()) {
		$this->setName($name);
		$this->setFile($file);
		$this->setDirectory($directory);
		$this->setVariables($variables);
	}
	
	/**
	 * @return string
	 */
	public function getName() {
		return $this->name;
	}
	
	/**
	 * @param string $name
	 */
	public function setName($name) {
		$this->name = $name;
	}
	
	/**
	 * @return string
	 */
	public function getFile() {
		return $this->file;
	}
	
	/**
	 * @param string $file
	 */
	public function setFile($file) {
		$this->file = $file;
	}
	
	/**
	 * @return string
	 */
	public function getDirectory() {
		return $this->directory;
	}
	
	/**
	 * @param string $directory
	 */
	public function setDirectory($directory) {
		$this->directory = $directory;
	}
	
	/**
	 * @return array
	 */
	public function getVariables() {
		return $this->variables;
	}
	
	/**
	 * @param array $variables
	 */
	public function setVariables(array $variables) {
		$this->variables = $variables;
	}
}

?>